Video surveillance systems and monitoring applications capture and record time-stamped video data from one or more security surveillance cameras and often correlate the recorded video data streams of each camera with a timeline (i.e. day, month, year and time), which is presented and controlled during review of the video data at a later date. Playback and display of the recorded video data from a camera on a computer monitor or other visual display device, like a mobile phone or tablet, is often accompanied with a graphical representation of a timeline and associated timeline control functionality that the user manipulates by dragging a pointer, finger or playback cursor (the “Playback Cursor) to select a specific time of interest from the timeline presented within a user interface window or view (the “View”) of the surveillance monitoring application. Based on the specific time of interest selected within the timeline window, the surveillance system or application will then retrieve the stored time-stamped video data that correlates with the selection for playback and display to the user. If the surveillance system or application has access to video data from multiple cameras, a separate View is typically associated with each camera and a separate timeline is used to control display of the video data from each camera.
Video surveillance systems and applications typically also allow the user to select the recorded video data from one or more camera(s) from among the multiple cameras to display in within a View. The video data from each camera may then be displayed within separate sub-regions of the View. In the same manner a timeline and its associated control functionality will control the playback and display of one camera within a View, multiple cameras presented in multiple sub-regions of the View may also be controlled. For example, if a single camera is selected, only the video data from the single camera will be shown. If two cameras are selected, the video data from both cameras will be presented in two sub-regions of the View, with the total number of sub-regions displayed in the View being equal to the total number of cameras selected. In such a case, all of the cameras selected for display of video data within the View will have the same timeline and will be controlled by the single timeline control functionality.
Video surveillance applications typically also support multiple concurrent Views whereby a user may select a first set of cameras to display in a first View, and select a second set of cameras to display in a second View, with each View having its own, independent timeline, timeline control functionality, and playback state. One difficulty associated with this arrangement occurs if the user sets the Playback Cursor to a specific point in time in the first View and wishes to locate the same point in time in the second View. As the two Views are not linked in any way, the user must attempt to manually locate the same point in time in the second View timeline and then set the Playback Cursor to this point in time. When multiple concurrent Views are being used at the same time, potentially displaying video data from hundreds of independent cameras, a requirement to manually select, open and update the point in time of interest within each of those Views is both time consuming and error prone.
Finally, while some video surveillance systems or applications support the ability to link multiple Views together, the multiple Views and the multiple sub-regions displaying camera video data from a different camera and/or camera data stream (the “subview(s)”) still share a single timeline. This means that initiating a timeline change in one View causes the same change to occur in the timeline of all of the other Views. Hence, multiple independent Views, multiple sub-regions of a single View, or multiple Views (with or without sub-regions) are either all singularly controlled or all simultaneously controlled by a singular controller.